package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementReassuredPositionMsgNumComReqDto
 * @使用场景
 */
@Data
public class ImplementReassuredPositionMsgNumComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 当前内容状态条数
   */
  @NotNull(message = "当前内容状态条数不能为空")
  @ApiModelProperty("当前内容状态条数")
  private Long currentNumberContentStatusEntries;

  /**
   * 汇报任务评价房间 MY_REPORT_TASK:我汇报的 TASK_REPORT_TO_ME:汇报给我的 TASK_RELATED_TO_ME:我相关的
   */
  @ApiModelProperty("汇报任务评价房间")
  private String reportTaskEvaRoom;

  /**
   * 汇报任务状态位置标识
   */
  @ApiModelProperty("汇报任务状态位置标识")
  private String reportTakMessageLocationCode;

  /**
   * 汇报任务状态上一级位置标识
   */
  @ApiModelProperty("汇报任务状态上一级位置标识")
  private String messageLocationTypeCode;

  /**
   * 消息位置标识
   */
  @NotNull(message = "消息位置标识不能为空")
  @ApiModelProperty("消息位置标识")
  private String messageLocationCode;

  /**
   * 归属内容类型编码 INDUCTION_RECORD:就职记录 ORIGINAL_ROLE_MEMBER:身份人员 ORG_OR_DEPT:组织部门 MEMBER_CHANNEL_RELATION:成员通道 OMS_EVALUATION_TEMPLATE:评价模板
   */
  @NotNull(message = "归属内容类型编码不能为空")
  @ApiModelProperty("归属内容类型编码")
  private String surfaceCode;

  /**
   * 归属内容ID
   */
  @ApiModelProperty("归属内容ID")
  private String entityId;

  /**
   * 扩展内容ID
   */
  @ApiModelProperty("扩展内容ID")
  private String extendedContentId;

  /**
   * 行为主题锁 REPORT_NUMBER_RELEVANT_BG_MESSAGES:汇报我相关托底消息数量 WORK_TASKS_SENIOR_DEPT_BG_MESSAGES:高层部门工作任务托底消息数量 WORK_TASKS_GRASSROOTS_DEPT_BG_MESSAGES:中基层部门工作任务托底消息数量 WORK_TASKS_SUBORDINATE_DEPT_GRASSROOTS_LEVEL_BG_MESSAGES:中基层下属部门工作任务托底消息数量 ALL_ISSUES_SENIOR_DEPT_BG_MESSAGES:高层部门所有问题托底消息数量 ALL_ISSUES_GRASSROOTS_DEPT_BG_MESSAGES:中基层部门所有问题托底消息数量 WORK_TASK_UCD_LOCK_NUMBER_SWIPES:工作任务UCD托底消息数量锁 WORK_REPORT_TASK_ME_LOCK_NUMBER_SWIPES:工作任务汇报给我托底消息数量锁 I_INITIATED_THE_ISSUE_LOCK_NUMBER_SWIPES:问题我发起的托底消息数量锁 PROBLEM_UCD_LOCK_NUMBER_SWIPES:问题UCD托底消息数量锁
   */
  @NotNull(message = "行为主题锁不能为空")
  @ApiModelProperty("行为主题锁")
  private String behaviorThemeLockCode;

  /**
   * 通用主键ID
   */
  @NotNull(message = "通用主键ID不能为空")
  @ApiModelProperty("通用主键ID")
  private String commPrimaryKey;

  /**
   * 自定义字段1
   */
  @ApiModelProperty("自定义字段1")
  private String customField1;

  /**
   * 自定义字段2
   */
  @ApiModelProperty("自定义字段2")
  private String customField2;

  /**
   * 自定义字段3
   */
  @ApiModelProperty("自定义字段3")
  private String customField3;

  /**
   * 锁定时长
   */
  @NotNull(message = "锁定时长不能为空")
  @ApiModelProperty("锁定时长")
  private Long duration;

  /**
   * 时间单位类型 YEAR:年 MONTH:月 DAY:天 HOUR:小时 MINUTES:分钟 SECOND:秒
   */
  @NotNull(message = "时间单位类型不能为空")
  @ApiModelProperty("时间单位类型")
  private String timeUnitType;

}
